<?php
/**
 * Clases de modelo para base de datos EQS_TiposErorres ...
 * @author Rosanna Paberli Jimenez Rosario
 *
 */
class TipoErrorModel extends Model
{
	protected $_nameTable = "EQS_TiposErorres";

    public function __construct()
    {
	    parent::Model();
	  
    }

    /**
     * 
     * Enter description here ...
     * @param string $start
     * @param string $offset
     * @param string $sortname
     * @param string $sortoder
     */
    public function loadRegistro($start = FALSE, $offset = FALSE, $sortname = FALSE, $sortoder = FALSE)
    {
	      $query = $this->db->get($this->_nameTable);
	      return $this->_getArrayFromQueryResult($query);
    }

    public function loadRegistroByWhere($where)
    {
	      $query = $this->db->get_where($this->_nameTable, $where);
	      return $this->_getArrayFromQueryResult($query);
    }
    
    public function loadRegistroById($id)
    {
          $query = $this->db->get_where($this->_nameTable, array('id_tipo_error'  => $id));
          
          if ($query->num_rows() == 0)
           return FALSE;
           
          return new TipoError($query->row()); 
    }
     
    /**
     * 
     * Enter description here ...
     * @param Objeto $resurt
     */
    private function _getArrayFromQueryResult($resurt)
    {
         	if ($resurt->num_rows() == 0)
	           return false;

			$registro_arr = array();

			foreach ($resurt->result() as $record){
				  $registro_arr[] = new TipoError($record);			
			}		
			
			return $registro_arr;
    }
     
     /**
      * 
      * Enter description here ...
      * @param array $data
      */
    public function addRegistro($data)
    {
    	if ($this->db->insert($this->_nameTable, $data)){
    	  return TRUE;
    	}
        
          return FALSE;
         
    }
    
    /**
     * 
     * Enter description here ...
     * @param array $data
     * @param int $id
     */
    public function upDateRegistro($data, $id)
    {

    	if($this->db->update($this->_nameTable, $data ,array("id_tipo_error" => $id))){
    		return TRUE;
    	}
    	
    	    return FALSE;
    }
    
     /**
      * 
      * Enter description here ...
      * @param int $id
      */
    public function deleteRegistro($id)
    {
    	if($this->db->delete($this->_nameTable,array("id_tipo_error" => $id))){
    		return TRUE;
    	}
    	
    		return FALSE;
    }

}

class TipoError
{
	private $_idTipoError = 0;
	private $_detalleError = "";
	private $_diasError = 0;
	
	/**
	 * 
	 * Esta es la funcion tipo Error de la clase Tipo error que recibe como parametro un objeto.
	 * @param objeto $dataObjeto
	 */
	public function __construct($dataObjeto)
	{
		$this->_idTipoError = $dataObjeto->id_tipo_error;
		$this->_detalleError = $dataObjeto->detalle_error;
		$this->_diasError = $dataObjeto->dias_error;
	}
	
	public function getIdTipoError()
	{
		return $this->_idTipoError;
	}
	
	public function getDetalleError()
	{
		return $this->_detalleError;
	}
	
	public function getDiasError()
	{
		return $this->_diasError;
	}
}

